package com.leyou.api;

import com.leyou.domain.db1entity.ConditionAndGoods;
import com.leyou.domain.db1entity.TableCell;
import com.leyou.domain.db1entity.TurnTableActivity;
import com.leyou.domain.vo.RecordPageVO;
import com.leyou.domain.vo.TablePutVO;
import com.leyou.domain.vo.TurnTableActivityInfoVO;
import com.leyou.domain.vo.TurnTableRecordVO;
import javafx.scene.control.Tab;

import java.util.List;
import java.util.Map;

/**
 * @Author lixin
 * @Date 2018/11/13 15:11
 * @Version 1.0
 * @Description TODO
 **/
public interface TableService {

    /**
     * @param tablePutVO
     * @return void
     * @author lixin
     * @date 11:36 2018/11/14 0014
     * @description 新增活动
     **/
    void putActivity(TablePutVO tablePutVO);


    /**
     * @param
     * @return java.util.Map<java.lang.String, java.lang.Object>
     * @author lixin
     * @date 11:05 2018/11/15 0015
     * @description 转盘活动分页
     **/
    Map<String, Object> getTableActivityList(int pageNum, int pageSize);


    /**
     * @param tableCell
     * @return void
     * @author lixin
     * @date 13:53 2018/11/20 0020
     * @description
     **/
    void putTableCell(TableCell tableCell);


    /**
     * @param activityKey
     * @return com.leyou.domain.db1entity.TurnTableActivity
     * @author lixin
     * @date 14:40 2018/11/20 0020
     * @description
     **/
    TurnTableActivity getTableById(String activityKey);


    /**
     * @param turnTableActivity
     * @return int
     * @author lixin
     * @date 15:08 2018/11/20 0020
     * @description
     **/
    void updateTableById(TurnTableActivity turnTableActivity);


    /**
     * @param tableCell
     * @return void
     * @author lixin
     * @date 14:44 2018/12/4 0004
     * @description 验证用户提交的奖项的序号是否存在
     **/
    void checkPrizeOrder(TableCell tableCell);


    /**
     * @param activitykey
     * @return java.util.List<com.leyou.domain.db1entity.TableCell>
     * @author lixin
     * @date 14:59 2018/12/5 0005
     * @description 查询当前活动下的所有奖品
     **/
    List<TableCell> getTableCellList(String activitykey);


    /**
     * @param tableCell
     * @return void
     * @author lixin
     * @date 9:32 2018/12/6 0006
     * @description 删除转盘活动中的一个奖项
     **/
    void deleteCell(TableCell tableCell);


    /**
     * @param
     * @return java.util.Map<java.lang.String, java.lang.Object>
     * @author lixin
     * @date 10:21 2018/12/7 0007
     * @description 活动信息统计
     **/
    Map<String, Object> activityShow();


    /**
     * @param recordPageVO
     * @return java.util.List<com.leyou.domain.vo.TurnTableRecordVO>
     * @author lee
     * @date 12:51 2018/12/7 0007
     * @description 查询当前活动参与情况
     **/
    Map<String, Object> getTurnTableRecord(RecordPageVO recordPageVO);


}
